package com.dongzili.query.common.vo;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

import javax.validation.Valid;
import java.util.List;
import java.util.Map;

/**
 * 分页请求对象
 * @param <T>
 */
@Getter
@Setter
@AllArgsConstructor
public class PageRequest<T> {

    /**
     * 当前页数，从1开始
     */
    private Integer current;
    /**
     * 每页记录数
     */
    private Integer size;
    /**
     * 总数
     */
    private Integer total;
//    /**
//     * 搜索关键字
//     */
//    private String keyword;
    /**
     * 请求数据实体
     */
    @Valid
    private T entity;
    /**
     * 请求数据实体数组
     */
    private List<T> entities;
//    /**
//     * 消息ID
//     */
//    private String messageId;
//    /**
//     * 用户编码
//     */
//    private String userno;
    /**
     * 模糊搜索承载实体
     */
    private T likeEntity ;
    /**
     * 排除范围查询实体
     */
    private T notInEntity ;
    /**
     * 排序字段
     */
    private List<OrderVo> orders;
    /**
     * 时间区间查询字段
     */
    private Map<String, QueryPeriodVo> queryPeriod;

    /**
     * 年份
     */
    private Integer year;
    /**
     * 月份yyyy-MM
     */
    private String month;

    /**
     * 是否查询已删除数据
     */
    private boolean queryDeleted=false;


    public PageRequest() {
        current = 1;
        size = 10;
    }


}